﻿namespace TestTool.Proxies.Onvif
{
    using System;
    using System.CodeDom.Compiler;
    using System.ComponentModel;
    using System.Diagnostics;
    using System.Xml;
    using System.Xml.Serialization;

    [Serializable, DebuggerStepThrough, GeneratedCode("svcutil", "3.0.4506.2152"), DesignerCategory("code"), XmlType(Namespace="http://www.onvif.org/ver10/schema")]
    public class PTZNode : DeviceEntity
    {
        private XmlAttribute[] anyAttrField;
        private string[] auxiliaryCommandsField;
        private PTZNodeExtension extensionField;
        private bool fixedHomePositionField;
        private bool fixedHomePositionFieldSpecified;
        private bool homeSupportedField;
        private int maximumNumberOfPresetsField;
        private string nameField;
        private PTZSpaces supportedPTZSpacesField;

        [XmlAnyAttribute]
        public XmlAttribute[] AnyAttr
        {
            get
            {
                return this.anyAttrField;
            }
            set
            {
                this.anyAttrField = value;
            }
        }

        [XmlElement("AuxiliaryCommands", Order=4)]
        public string[] AuxiliaryCommands
        {
            get
            {
                return this.auxiliaryCommandsField;
            }
            set
            {
                this.auxiliaryCommandsField = value;
            }
        }

        [XmlElement(Order=5)]
        public PTZNodeExtension Extension
        {
            get
            {
                return this.extensionField;
            }
            set
            {
                this.extensionField = value;
            }
        }

        [XmlAttribute]
        public bool FixedHomePosition
        {
            get
            {
                return this.fixedHomePositionField;
            }
            set
            {
                this.fixedHomePositionField = value;
            }
        }

        [XmlIgnore]
        public bool FixedHomePositionSpecified
        {
            get
            {
                return this.fixedHomePositionFieldSpecified;
            }
            set
            {
                this.fixedHomePositionFieldSpecified = value;
            }
        }

        [XmlElement(Order=3)]
        public bool HomeSupported
        {
            get
            {
                return this.homeSupportedField;
            }
            set
            {
                this.homeSupportedField = value;
            }
        }

        [XmlElement(Order=2)]
        public int MaximumNumberOfPresets
        {
            get
            {
                return this.maximumNumberOfPresetsField;
            }
            set
            {
                this.maximumNumberOfPresetsField = value;
            }
        }

        [XmlElement(Order=0)]
        public string Name
        {
            get
            {
                return this.nameField;
            }
            set
            {
                this.nameField = value;
            }
        }

        [XmlElement(Order=1)]
        public PTZSpaces SupportedPTZSpaces
        {
            get
            {
                return this.supportedPTZSpacesField;
            }
            set
            {
                this.supportedPTZSpacesField = value;
            }
        }
    }
}

